//#define BOOST_MP_STANDALONE

#include "boost/multiprecision/cpp_int.hpp"
#include "xprime.h"
#include "xtest.h"
#include "xutil.h"
#include <algorithm>
#include <cmath>
#include <fstream>
#include <functional>
#include <iostream>
#include <random>

//import std;

namespace mpn = boost::multiprecision;

using namespace std;

class A
{};

int main2()
{
    mpn::cpp_int fact = 1;
    //    for_each(1, 100, [&fact](int &i) { fact *= i; });
    for (int i = 1; i <= 100; ++i)
        fact *= i;

    auto a = A();

    cout << "100! = " << fact << endl;

    cout << (fact >> 1) << endl;

    return 0;
}
